Debugging Tools: GDB, OllyDbg

Computer Programming - অ্যাসেম্বলি প্রোগ্রামিং (Assembly Programming) - Assembly Language Tools এবং IDE (Assembly Language Tools and IDE)
480

GDB (GNU Debugger)

GDB হলো একটি ওপেন সোর্স ডিবাগার যা সাধারণত Unix এবং Linux সিস্টেমে ব্যবহৃত হয়। এটি প্রোগ্রামারদের প্রোগ্রাম চালানোর সময় ত্রুটি সনাক্ত ও ঠিক করতে সাহায্য করে।

GDB-এর বৈশিষ্ট্য

  • ব্রেকপয়েন্ট সেট করা: প্রোগ্রামের যেকোনো অংশে ব্রেকপয়েন্ট সেট করে কোডের সেই অংশে থামানো যায়।
  • প্রোগ্রাম এক্সিকিউশন নিয়ন্ত্রণ: প্রোগ্রাম স্টেপ-বাই-স্টেপ এক্সিকিউশন, যেমন স্টেপ ইন, স্টেপ ওভার, এবং কন্টিনিউ করা যায়।
  • ভেরিয়েবল এবং মেমরি পরিদর্শন: চলমান প্রোগ্রামের ভেরিয়েবল এবং মেমরির মান দেখা ও পরিবর্তন করা যায়।
  • স্ট্যাক ট্রেসিং: প্রোগ্রামের স্ট্যাক ট্রেস দেখা, যা বিভিন্ন ফাংশন কল এবং তাদের সম্পর্ক বোঝায়।
  • কোড বিশ্লেষণ: GDB প্রোগ্রামের উৎস কোড বা অ্যাসেম্বলি লেভেলে কোড বিশ্লেষণ করতে পারে।
  • মাল্টি-থ্রেডিং সাপোর্ট: GDB মাল্টি-থ্রেড প্রোগ্রামগুলোর ডিবাগিংও সাপোর্ট করে।

GDB-এর ব্যবহার উদাহরণ

GDB দিয়ে একটি প্রোগ্রাম ডিবাগ করতে:

  1. প্রোগ্রাম কম্পাইল:

    gcc -g program.c -o program

    এখানে -g ফ্ল্যাগ ডিবাগিং তথ্য যোগ করে।

  2. GDB শুরু:

    gdb ./program
  3. ব্রেকপয়েন্ট সেট করা:

    (gdb) break main
  4. প্রোগ্রাম চালানো:

    (gdb) run
  5. স্টেপ-বাই-স্টেপ এক্সিকিউশন:

    (gdb) next

OllyDbg

OllyDbg হলো Windows ভিত্তিক একটি ডিবাগিং টুল যা গ্রাফিকাল ইন্টারফেস ব্যবহার করে। এটি বিশেষভাবে 32-বিট এক্সিকিউটেবলগুলোর জন্য ডিজাইন করা হয়েছে এবং রিভার্স ইঞ্জিনিয়ারিংয়ে ব্যাপকভাবে ব্যবহৃত হয়।

OllyDbg-এর বৈশিষ্ট্য

  • ডায়নামিক কোড বিশ্লেষণ: OllyDbg প্রোগ্রামের রানটাইম এক্সিকিউশন বিশ্লেষণ করতে সক্ষম, যা প্রোগ্রামের আচরণ বুঝতে সাহায্য করে।
  • রেজিস্টার এবং মেমরি পরিদর্শন: ইউজাররা রেজিস্টার এবং মেমরির বর্তমান মান দেখতে এবং সেগুলো পরিবর্তন করতে পারে।
  • ইনস্ট্রাকশন ট্রেসিং: প্রোগ্রামের ইনস্ট্রাকশন লেভেলে ট্রেসিং করা যায় যা প্রতিটি কমান্ডের কার্যকারিতা পর্যবেক্ষণ করতে সাহায্য করে।
  • স্ট্যাক এনালাইসিস: স্ট্যাকের অবস্থা পর্যালোচনা এবং স্ট্যাক ওভারফ্লো, পয়েন্টার সমস্যাসহ অন্যান্য ত্রুটি সনাক্ত করা যায়।
  • ব্রেকপয়েন্ট ম্যানেজমেন্ট: সফটওয়্যার এবং হার্ডওয়্যার ব্রেকপয়েন্ট সেট করে ট্রেসিং করা যায়।
  • কোড প্যাচিং: প্রোগ্রামিং কোড প্যাচ করে সাময়িক পরিবর্তন করে ফলাফল পর্যালোচনা করা যায়।

OllyDbg-এর ব্যবহার উদাহরণ

  1. এক্সিকিউটেবল লোড করা: OllyDbg-এ .exe ফাইল লোড করুন।
  2. ব্রেকপয়েন্ট সেট করা: প্রোগ্রামের কোডে নির্দিষ্ট স্থানে ব্রেকপয়েন্ট সেট করুন।
  3. প্রোগ্রাম রান করা: প্লে বোতাম চাপুন বা F9 চাপুন।
  4. ইনস্ট্রাকশন পর্যবেক্ষণ: প্রতিটি ইনস্ট্রাকশনের কার্যকারিতা পর্যবেক্ষণ এবং প্রয়োজনমতো কোড পরিবর্তন।

GDB এবং OllyDbg-এর তুলনা

বৈশিষ্ট্যGDBOllyDbg
প্ল্যাটফর্মUnix/LinuxWindows
ইউজার ইন্টারফেসকমান্ড-লাইনগ্রাফিকাল (GUI)
সাপোর্টেড আর্কিটেকচারপ্রধানত 64-বিট এবং 32-বিটপ্রধানত 32-বিট
রিভার্স ইঞ্জিনিয়ারিংসীমিতউন্নত
ডায়নামিক বিশ্লেষণরয়েছেআরও শক্তিশালী

GDB এবং OllyDbg উভয়ই প্রোগ্রাম ডিবাগিংয়ের জন্য শক্তিশালী টুল, তবে এগুলোর ব্যবহারের ধরন এবং সুবিধাগুলো নির্ভর করে প্ল্যাটফর্ম এবং প্রোগ্রামারের পছন্দের উপর।

Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...